In manufacturing systems, such as those for electronics assembly, articles of manufacture and processes associated with their manufacture are represented by computer programs. In the manufacture of electronics assemblies, many changes may occur in the design of the assemblies and in the programs that represent them. A product will generally comprise components that may, themselves, be changed. Furthermore, a second product may be developed that may differ from the first product only in certain respects. Changes to computer programs, whether they arise from product changes or from software reruns must be carefully managed to avoid running manufacturing lines with incorrect instructions and thereby wasting machine time as well as materials. It is therefore critical to be able to assign appropriate versions to each program to track the various versions, and to validate or release only those versions of a program that have been duly authorized.
The problem of managing various authorized versions of a program becomes even more daunting when a product, or derivatives of the product, are manufactured not only on one line, under the supervision of a responsible engineer, but in multiple lines in one factory, or in multiple lines in several factories that are geographically distributed. The creation of versions of computer programs in this context, not to mention the validation and release of such versions, presents an enormous challenge.
There is, therefore, a need for a practicable, disciplined approach to the creation and management of versions of computer programs representing articles of manufacture, as well as for their validation and release.